package java04;

interface Animal02{
    public static final int ID = 1;//定义全局常量
    public abstract void breathe();//定义抽象方法breathe()
    //定义一个默认方法
    default void getType(String type){
        System.out.println("该动物属于：" + type);
    }
    //定义一个静态方法
    static int getID(){
        return Animal02.ID;
    }
}
//定义一个LandAnimal接口，并继承了Animal02接口
interface LandAnimal extends Animal02{
    void run();//定义抽象方法
}
////定义Dog01类实现了Animal02接口
//class Dog01 implements Animal02{
//    //实现breathe()方法
//    public void breathe(){
//        System.out.println("狗在呼吸！");
//    }
//}
//定义Dog01类实现了LandAnimal接口
class Dog01 implements LandAnimal{
    //实现breathe()方法
    public void breathe(){
        System.out.println("狗在呼吸！");
    }
    //实现run()方法
    public void run(){
        System.out.println("狗在陆地上跑！");
    }
}
public class InterfaceTest01 {
    //测试类
    public static void main(String[] args){
        System.out.println(Animal02.getID());//通过接口名调用类方法
        Dog01 d1 = new Dog01();
        System.out.println(d1.ID);//在实例类中获取接口全局常量
        d1.breathe();//调用d1对象的方法
        d1.getType("犬科");//通过接口实例类Dog01的实例化对象，调用接口默认方法
        d1.run();//调用d1对象的run()方法
    }
}